// 定时任务私有方法
var timer = function(so) {
    console.log('timer: ' + so.num)
    so.emit('timer', {data: so.num})
    so.num--;
    if (so.num <= 0) {
        clearInterval(so.timerObj)
    }
}

var demo = function (so, io) {
    // 监听客户端消息
    so.on('demo1', function(data) {
        console.log(data)
        // 消息推送
        so.emit('demo1_back', {data: 'demo1 back'})
        // 广播
        io.emit('demo1_push', {data: 'demo1 push'})
    })

    // 定时推送任务
    so.on('demo2', function() {
        var timerObj = setInterval(function() {
            timer(so)
        }, 1000)
        so.num = 10
        so.timerObj = timerObj
    })
}

module.exports = demo
